/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.biblioteca8a.dao;

import java.util.List;
import javax.ejb.Stateless;
import javax.management.Query;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import mx.itschapala.dsw2.biblioteca8a.enumeracion.EstadoPrestamo;
import mx.itschapala.dsw2.biblioteca8a.modelo.Autor;
import mx.itschapala.dsw2.biblioteca8a.modelo.Prestamo;
import mx.itschapala.dsw2.biblioteca8a.modelo.Usuario;

/**
 *
 * @author RaygozaL
 */
@Stateless
public class PrestamoDao extends AbstractDao<Prestamo> implements PrestamoDaoLocal {
    @PersistenceContext(unitName = "biblioteca8a-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public PrestamoDao() {
        super(Prestamo.class);
    }

    @Override
    public List<Prestamo> findIncompleteByUser(Usuario user) {
       // Query q= em.createNamedQuery("Prestamo.findIncompleteByUser");
        javax.persistence.Query q= em.createNamedQuery("Prestamo.findIncompleteByUser");
        q.setParameter("estado",EstadoPrestamo.OPEN);
        q.setParameter("idUsuario",user.getId());
        
        return q.getResultList();
    }
 
    
    

   
    @Override
    public boolean findDuplicity(Prestamo Prestamo) {
        //seleccionar consulta
        javax.persistence.Query q=em.createNamedQuery("Prestamo.findDuplicity");
        //poner parametros
        q.setParameter("id", Prestamo.getId());
        q.setParameter("fecha", Prestamo.getFecha());
        q.setParameter("estado", Prestamo.getEstado());
        //ejecutar
        
        return !q.getResultList().isEmpty();
    }

   
    
  
   
    
}